#compile CLEL
gmcs -optimize- -target:library -out:clel.dll clel/src/CLEL/*.cs clel/src/CLEL/Assembly/*.cs clel/src/CLEL/Assembly/Debug/*.cs clel/src/CLEL/Assembly/Debug/DebugInformation/*.cs clel/src/CLEL/Executable/*.cs clel/src/CLEL/Assembly/BlobStreams/*.cs clel/src/CLEL/Assembly/BlobStreams/BlobInfo/*.cs clel/src/CLEL/Assembly/Parser/ValidAssemblyParser/*.cs clel/src/CLEL/Assembly/Printer/AssemblyConsolePrinter/*.cs clel/src/CLEL/Assembly/StreamTables/*.cs clel/src/CLEL/Assembly/StreamTables/StreamTableRows/*.cs clel/src/CLEL/Assembly/CLELInstructions/*.cs clel/src/CLEL/Assembly/ILGenerator/*.cs clel/src/CLEL/Assembly/Generator/ValidAssemblyGenerator/*.cs clel/src/CLEL/Assembly/Descriptors/*.cs clel/src/CLEL/Assembly/Descriptors/ClassDescriptors/*.cs clel/src/CLEL/Collections/*.cs clel/src/CLEL/Assembly/MethodHeaderDataSections/*.cs clel/src/CLEL/Assembly/MethodHeaderDataSections/MethodHeaderDataSectionRows/*.cs

#compile opt
gmcs -optimize- -r:clel.dll -target:library -out:opt.dll opt/src/opt/*.cs opt/src/opt/Analysis/Branch/*.cs opt/src/opt/Analysis/Graph/*.cs opt/src/opt/Analysis/Graph/CallGraph/*.cs  opt/src/opt/Analysis/Graph/CallGraph/CallGraphVisitor/*.cs opt/src/opt/Analysis/Graph/ControlFlowGraph/*.cs opt/src/opt/Analysis/Graph/ControlFlowGraph/ControlFlowGraphVisitor/*.cs opt/src/opt/Tools/Methods/*.cs opt/src/opt/Tools/Branches/*.cs opt/src/opt/Analysis/Set/*.cs

#compile optimizations
./lib.sh

#compile test program
gmcs -optimize- -r:clel.dll,opt.dll Test.cs

#compile DumpCode
gmcs -r:clel.dll DumpCode.cs
